<?php
/*
 * Smarty plugin
 * *feito pelo Werneck
 * -------------------------------------------------------------
 * File:     block.form.php
 * Type:     block
 * Name:     form
 * Purpose:  form helper
 * -------------------------------------------------------------
 */
function smarty_block_form($params, $content, &$view)
{
	static $output;
	
	//OBS: se o nome do modelo que o cara colocou como parametro não existir testar para não dar merda!!
	
	//QUANDO FECHA O BLOCO:
	
    if (isset($content)) {
    	$output .= $content;
		
		//Coloca o submit automaticamente (caso queira)

		//condições para que não seja impresso
		if ( isset($params['noSubmit']) || isset($params['submit']) && ($params['submit'] == 'false' || $params['submit'] == 'noSubmit' || $params['submit'] == 'null'))
		{
			$printSumit = false;
			unset($params['submit']);
			unset($params['noSubmit']);
		}
		else if ( isset($params['submit']) ) //caso tenha sido setado um nome para o submit
		{
			$submitValue = $params['submit'];
			unset($params['submit']);
			$printSumit = true;
		}
		else
		{
			$printSumit = true;
			$submitValue = "Submit";
		}
		
		//testa se já foi impresso algum submit nesse form
		$teste = explode(" ", $output);
		if ( $printSumit && ( !in_array("type='submit'", $teste) && !in_array('type="submit"', $teste) ) )
		{
			$output .= "<input type='submit' value='$submitValue'>";
		}
		
		$output .= "</form>";
		
		$view->getTemp('form_modelName'); //unseta essa variavel temporária (nome do modelo)
       
		return $output;
    }
	
	
	//QUANDO ABRE O BLOCO:
	
	//passa o nome do modelo para o input

	if ( isset($params['model']) ) 
	{
		$view->setTemp('form_modelName', $params['model']);
		unset($params['model']);
	} 
	else 
	{
		$view->setTemp('form_modelName', NULL); //TODO pegar do modelo
	}
		
	
	//seta automaticamente alguns parâmetros
	
	if ( !isset($params['method']) )
	{
		$params['method'] = 'post';
	}
	if ( !isset($params['action']) )
	{
		$params['action'] = '#';
	}
	
	//Passa os parametros inúteis para o processamento direto para a tag
	$output  = '<form';
	foreach($params as $name => $value){
		$output .= " $name='$value'";
	}
	$output .= '>';
	
	
}

?>